// UEEntityOperation.h: interface for the CUEEntityOperation class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UEENTITYOPERATION_H__84336DF6_1285_4AE6_B9EE_FC44A5B00185__INCLUDED_)
#define AFX_UEENTITYOPERATION_H__84336DF6_1285_4AE6_B9EE_FC44A5B00185__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CUEEntityOperation  
{
public:
	CUEEntityOperation();
	virtual ~CUEEntityOperation();

public:
#ifdef _ARX2000
	static Acad::ErrorStatus SetCurDocument (
		const AcDbDatabase* pDbDest = NULL,
		AcAp::DocLockMode docLockMode = AcAp::kNone,
		bool activate = false );
	static Acad::ErrorStatus LockDocument (
		AcDbDatabase* pDbDest,
		AcAp::DocLockMode docLockMode = AcAp::kWrite,
		const MYCHAR* pGlobalCmdName = NULL,
		const MYCHAR* pLocalCmdName = NULL,
		bool prompt = true );
	static Acad::ErrorStatus UnlockDocument ( AcDbDatabase* pDbDest );
#endif
	static Acad::ErrorStatus AddEntityToDwg (
		AcDbEntity* pEntDest,
		const CString strLayerDest = _T ( "0" ),
		const BOOL bClose = TRUE
#ifdef _ARX2000
		,AcDbDatabase* pDbDest = NULL
#endif
		);
	static AcDbEntity* OpenEntityWrite (
		const AcDbHandle& hDest,
		AcDbDatabase* pDbDest = NULL,
		const BOOL bSwitchBack = TRUE );

public:
	static void RegisterOsnapMode();
	static void UnregisterOsnapMode();
	static void BeginOsnap();
	static void EndOsnap();

};

#endif // !defined(AFX_UEENTITYOPERATION_H__84336DF6_1285_4AE6_B9EE_FC44A5B00185__INCLUDED_)
